/**
 * Created by qunxing.du on 2016/7/26.
 * Copyright 2016 汉威.智慧环保事业部 Limited.
 * All rights reserved.
 */
package com.hw.one.collect.memento;

/**
 * 发起人，负责记录当前时刻内部状态和创建，恢复备忘录数据库
 */
public abstract class Originator<T extends Memento> {
    /**
     * 创建备忘录
     * @return
     */
    public abstract T createMemento();

    /**
     * 恢复当前状态到指定的备忘录状态
     * @param memento
     */
    public abstract  void restoreMemento(T memento);
}
